<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: keypoints/include/pcl/keypoints/agast_2d.h 源文件</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('agast__2d_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">agast_2d.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Software License Agreement (BSD License)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *  Point Cloud Library (PCL) - www.pointclouds.org</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *  Copyright (c) 2010-2011, Willow Garage, Inc.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *  Copyright (c) 2012-, Open Perception, Inc.</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *  All rights reserved.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *  Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *  modification, are permitted provided that the following conditions</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *  are met:</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *   * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *     notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *   * Redistributions in binary form must reproduce the above</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *     copyright notice, this list of conditions and the following</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> *     disclaimer in the documentation and/or other materials provided</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> *     with the distribution.</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> *   * Neither the name of Willow Garage, Inc. nor the names of its</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> *     contributors may be used to endorse or promote products derived</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> *     from this software without specific prior written permission.</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> *  &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment"> *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"> *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> *  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment"> *  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"> *  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"> *  POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#ifndef PCL_KEYPOINTS_AGAST_KEYPOINT_2D_H_</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#define PCL_KEYPOINTS_AGAST_KEYPOINT_2D_H_</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;pcl/point_cloud.h&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="common_2include_2pcl_2point__types_8h.html">pcl/point_types.h</a>&gt;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;pcl/keypoints/keypoint.h&gt;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;pcl/common/intensity.h&gt;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">namespace </span>pcl</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;{</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">namespace </span>keypoints</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  {</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keyword">namespace </span>agast</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    {</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html">   62</a></span>&#160;      <span class="keyword">class </span>PCL_EXPORTS <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html">AbstractAgastDetector</a></div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      {</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keyword">public</span>:</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;          <span class="keyword">typedef</span> boost::shared_ptr&lt;AbstractAgastDetector&gt; Ptr;</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;          <span class="keyword">typedef</span> boost::shared_ptr&lt;const AbstractAgastDetector&gt; ConstPtr;</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a36d8ee7b396abcf4e8f6dd93c357ee4f">   74</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a36d8ee7b396abcf4e8f6dd93c357ee4f">AbstractAgastDetector</a> (<span class="keyword">const</span> <span class="keywordtype">size_t</span> width, </div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                                 <span class="keyword">const</span> <span class="keywordtype">size_t</span> height, </div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                                 <span class="keyword">const</span> <span class="keywordtype">double</span> threshold,</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                                 <span class="keyword">const</span> <span class="keywordtype">double</span> bmax) </div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;            : width_ (width)</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;            , height_ (height)</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;            , threshold_ (threshold)</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;            , nr_max_keypoints_ (std::numeric_limits&lt;unsigned int&gt;::max ())</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;            , bmax_ (bmax)</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;          {}</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2702b38fea665659346b2c692485eb82">   86</a></span>&#160;          <span class="keyword">virtual</span> <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2702b38fea665659346b2c692485eb82">~AbstractAgastDetector</a> () {}</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ac9ec794d2551c0d78debe989650a103b">   93</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ac9ec794d2551c0d78debe989650a103b">detectKeypoints</a> (<span class="keyword">const</span> std::vector&lt;unsigned char&gt; &amp;intensity_data, </div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                           <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;output);</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ab3b43377441c2510ba4d06e3b56b1695">  101</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ab3b43377441c2510ba4d06e3b56b1695">detectKeypoints</a> (<span class="keyword">const</span> std::vector&lt;float&gt; &amp;intensity_data, </div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                           <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;output);</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;          <span class="keywordtype">void</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2e60cf595fe72727a50f91172b6b1f76">  110</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2e60cf595fe72727a50f91172b6b1f76">applyNonMaxSuppression</a> (<span class="keyword">const</span> std::vector&lt;unsigned char&gt;&amp; intensity_data, </div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;                                  <span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;input, </div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;                                  <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;output);</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;          <span class="keywordtype">void</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ae936195a723d48c3730584a74eb32bb1">  120</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ae936195a723d48c3730584a74eb32bb1">applyNonMaxSuppression</a> (<span class="keyword">const</span> std::vector&lt;float&gt;&amp; intensity_data, </div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;                                  <span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;input, </div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;                                  <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;output);</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;          <span class="keyword">virtual</span> <span class="keywordtype">int</span> </div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ab793848fb125b65c4b8e68eb4341f6f8">  128</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ab793848fb125b65c4b8e68eb4341f6f8">computeCornerScore</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* im) <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;          <span class="keyword">virtual</span> <span class="keywordtype">int</span> </div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#adfd3667d1a4e0311a0908aeea42b2cd9">  134</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#adfd3667d1a4e0311a0908aeea42b2cd9">computeCornerScore</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* im) <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;          <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a6846bbbbd9b4d6d063613a7fc454314d">  140</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a6846bbbbd9b4d6d063613a7fc454314d">setThreshold</a> (<span class="keyword">const</span> <span class="keywordtype">double</span> threshold)</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;          {</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;            threshold_ = threshold;</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;          }</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;          <span class="keyword">inline</span> <span class="keywordtype">double</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a68693f48efdc32fc292da634f187b7a2">  147</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a68693f48efdc32fc292da634f187b7a2">getThreshold</a> ()</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;          {</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;            <span class="keywordflow">return</span> (threshold_);</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;          }</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;          <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2712d02a6b0264813ec631c2926d3bbb">  157</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2712d02a6b0264813ec631c2926d3bbb">setMaxKeypoints</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nr_max_keypoints)</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;          {</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;            nr_max_keypoints_ = nr_max_keypoints;</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;          }</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;          <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> </div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a53415de44dc2ae2728013a4ca85af15c">  164</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a53415de44dc2ae2728013a4ca85af15c">getMaxKeypoints</a> ()</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;          {</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;            <span class="keywordflow">return</span> (nr_max_keypoints_);</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;          }</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;          <span class="keyword">virtual</span> <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a9e086276b2b357b40009e698cf4a39c4">  174</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a9e086276b2b357b40009e698cf4a39c4">detect</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* im, </div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;                  std::vector&lt;<a class="code" href="structpcl_1_1_point_u_v.html">pcl::PointUV</a>, Eigen::aligned_allocator&lt;pcl::PointUV&gt; &gt; &amp;corners_all) <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;          <span class="keyword">virtual</span> <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a0ee56e1bd42cb8599d0f8de368e509b2">  181</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a0ee56e1bd42cb8599d0f8de368e509b2">detect</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* im, </div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;                  std::vector&lt;<a class="code" href="structpcl_1_1_point_u_v.html">pcl::PointUV</a>, Eigen::aligned_allocator&lt;pcl::PointUV&gt; &gt; &amp;) <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160; </div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="structpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_1_1_score_index.html">  187</a></span>&#160;          <span class="keyword">struct </span><a class="code" href="structpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_1_1_score_index.html">ScoreIndex</a></div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;          {</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;            <span class="keywordtype">int</span> idx;</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;            <span class="keywordtype">int</span> score;</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;          };</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160; </div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="structpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_1_1_compare_score_index.html">  194</a></span>&#160;          <span class="keyword">struct </span><a class="code" href="structpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_1_1_compare_score_index.html">CompareScoreIndex</a></div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;          {</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;            <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="structpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_1_1_compare_score_index.html#a2cc442e6dc5e9a75ce6d976f18776c88">  201</a></span>&#160;            operator() (<span class="keyword">const</span> <a class="code" href="structpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_1_1_score_index.html">ScoreIndex</a> &amp;i1, <span class="keyword">const</span> <a class="code" href="structpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_1_1_score_index.html">ScoreIndex</a> &amp;i2)</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;            {</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;              <span class="keywordflow">return</span> (i1.score &gt; i2.score);</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;            }</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;          };</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160; </div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;          <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a80b6333d58f4f0218dd1fa80083d845f">  209</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a80b6333d58f4f0218dd1fa80083d845f">initPattern</a> () = 0;</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160; </div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;          <span class="keywordtype">void</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#aa994a405e6650454483e29f0d9b907cb">  217</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#aa994a405e6650454483e29f0d9b907cb">applyNonMaxSuppression</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;input, </div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;                                  <span class="keyword">const</span> std::vector&lt;ScoreIndex&gt;&amp; scores, </div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;                                  <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;output);</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160; </div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a470232e7a64372477faf43512f518102">  227</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a470232e7a64372477faf43512f518102">computeCornerScores</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* im, </div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;                               <span class="keyword">const</span> std::vector&lt;<a class="code" href="structpcl_1_1_point_u_v.html">pcl::PointUV</a>, Eigen::aligned_allocator&lt;pcl::PointUV&gt; &gt; &amp; corners_all, </div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;                               std::vector&lt;ScoreIndex&gt; &amp; scores);</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160; </div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ab0a6310dd6526c5f90fc1add3f30b1fc">  237</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ab0a6310dd6526c5f90fc1add3f30b1fc">computeCornerScores</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* im, </div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;                               <span class="keyword">const</span> std::vector&lt;<a class="code" href="structpcl_1_1_point_u_v.html">pcl::PointUV</a>, Eigen::aligned_allocator&lt;pcl::PointUV&gt; &gt; &amp; corners_all, </div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;                               std::vector&lt;ScoreIndex&gt; &amp; scores);</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160; </div>
<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a20a0a11c7b1ece0e1aedd08e0b694ae6">  242</a></span>&#160;          <span class="keywordtype">size_t</span> <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a20a0a11c7b1ece0e1aedd08e0b694ae6">width_</a>;</div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2f764d48443da157a918505da83a66c8">  244</a></span>&#160;          <span class="keywordtype">size_t</span> <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2f764d48443da157a918505da83a66c8">height_</a>;</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160; </div>
<div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a28fdd805e64e27e97e26522eef5d86f1">  247</a></span>&#160;          <span class="keywordtype">double</span> <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a28fdd805e64e27e97e26522eef5d86f1">threshold_</a>;</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160; </div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#aad57d4be9cd0653695650608644fb820">  250</a></span>&#160;          <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#aad57d4be9cd0653695650608644fb820">nr_max_keypoints_</a>;</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160; </div>
<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#af1b1c542c9a00d96bb2d00b0c8d43f4f">  253</a></span>&#160;          <span class="keywordtype">double</span> <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#af1b1c542c9a00d96bb2d00b0c8d43f4f">bmax_</a>;</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;      };</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160; </div>
<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html">  264</a></span>&#160;      <span class="keyword">class </span>PCL_EXPORTS <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html">AgastDetector7_12s</a> : <span class="keyword">public</span> <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html">AbstractAgastDetector</a></div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;      {</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        <span class="keyword">public</span>:</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;          <span class="keyword">typedef</span> boost::shared_ptr&lt;AgastDetector7_12s&gt; Ptr;</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;          <span class="keyword">typedef</span> boost::shared_ptr&lt;const AgastDetector7_12s&gt; ConstPtr;</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160; </div>
<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a73801c277865ae00133923c348f47242">  276</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a73801c277865ae00133923c348f47242">AgastDetector7_12s</a> (<span class="keyword">const</span> <span class="keywordtype">size_t</span> width, </div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;                              <span class="keyword">const</span> <span class="keywordtype">size_t</span> height, </div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                              <span class="keyword">const</span> <span class="keywordtype">double</span> threshold,</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                              <span class="keyword">const</span> <span class="keywordtype">double</span> bmax = 255) </div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;            : <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html">AbstractAgastDetector</a> (width, height, threshold, bmax)</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;          {</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;            initPattern ();</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;          }</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160; </div>
<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#aff17278915c31c69d59cab89da167255">  286</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#aff17278915c31c69d59cab89da167255">~AgastDetector7_12s</a> () {}</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;          <span class="keywordtype">int</span> </div>
<div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a586164f0b54413d96dea2492be74a80f">  292</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a586164f0b54413d96dea2492be74a80f">computeCornerScore</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* im) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160; </div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;          <span class="keywordtype">int</span> </div>
<div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a9f3a85c36450a53b88bd250d694e6b0b">  298</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a9f3a85c36450a53b88bd250d694e6b0b">computeCornerScore</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* im) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160; </div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a47a0be917f8a75e37d8209455fdc895e">  305</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a47a0be917f8a75e37d8209455fdc895e">detect</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* im, std::vector&lt;<a class="code" href="structpcl_1_1_point_u_v.html">pcl::PointUV</a>, Eigen::aligned_allocator&lt;pcl::PointUV&gt; &gt; &amp;corners_all) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160; </div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a77fc6df95dc35d855d4ed0b16b1d90a4">  312</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a77fc6df95dc35d855d4ed0b16b1d90a4">detect</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* im, std::vector&lt;<a class="code" href="structpcl_1_1_point_u_v.html">pcl::PointUV</a>, Eigen::aligned_allocator&lt;pcl::PointUV&gt; &gt; &amp;corners_all) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160; </div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;        <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a0d8f6396a13a8ce6f8c445f5042d72ee">  317</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a0d8f6396a13a8ce6f8c445f5042d72ee">initPattern</a> ();</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160; </div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        <span class="keyword">private</span>:</div>
<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a29dcf798a5cf94ca83842267fa6e097f">  321</a></span>&#160;          <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> border_width_ = 2;</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160; </div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;          <span class="comment">// offsets defining the sample pattern</span></div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;          int_fast16_t s_offset0_;</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;          int_fast16_t s_offset1_;</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;          int_fast16_t s_offset2_;</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;          int_fast16_t s_offset3_;</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;          int_fast16_t s_offset4_;</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;          int_fast16_t s_offset5_;</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;          int_fast16_t s_offset6_;</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;          int_fast16_t s_offset7_;</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;          int_fast16_t s_offset8_;</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;          int_fast16_t s_offset9_;</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;          int_fast16_t s_offset10_;</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;          int_fast16_t s_offset11_;</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;      };</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160; </div>
<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html">  346</a></span>&#160;      <span class="keyword">class </span>PCL_EXPORTS <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html">AgastDetector5_8</a> : <span class="keyword">public</span> <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html">AbstractAgastDetector</a></div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;      {</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <span class="keyword">public</span>:</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;          <span class="keyword">typedef</span> boost::shared_ptr&lt;AgastDetector5_8&gt; Ptr;</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;          <span class="keyword">typedef</span> boost::shared_ptr&lt;const AgastDetector5_8&gt; ConstPtr;</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160; </div>
<div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#ab69a329749296e67f33455f82f01f6db">  358</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#ab69a329749296e67f33455f82f01f6db">AgastDetector5_8</a> (<span class="keyword">const</span> <span class="keywordtype">size_t</span> width, </div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                            <span class="keyword">const</span> <span class="keywordtype">size_t</span> height, </div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;                            <span class="keyword">const</span> <span class="keywordtype">double</span> threshold,</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;                            <span class="keyword">const</span> <span class="keywordtype">double</span> bmax = 255) </div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;            : <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html">AbstractAgastDetector</a> (width, height, threshold, bmax)</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;          {</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;            initPattern ();</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;          }</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160; </div>
<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#abb5851e7c9180419066fb660f5c1da60">  368</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#abb5851e7c9180419066fb660f5c1da60">~AgastDetector5_8</a> () {}</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160; </div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;          <span class="keywordtype">int</span> </div>
<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#a48e9210cbaf2c9943ff88d913596edde">  374</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#a48e9210cbaf2c9943ff88d913596edde">computeCornerScore</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* im) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160; </div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;          <span class="keywordtype">int</span> </div>
<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#aa56e7d419e4095a3f04f45036e74a1a0">  380</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#aa56e7d419e4095a3f04f45036e74a1a0">computeCornerScore</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* im) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160; </div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#ab4bef72ec0d307360d99c8fae5d818ff">  387</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#ab4bef72ec0d307360d99c8fae5d818ff">detect</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* im, std::vector&lt;<a class="code" href="structpcl_1_1_point_u_v.html">pcl::PointUV</a>, Eigen::aligned_allocator&lt;pcl::PointUV&gt; &gt; &amp;corners_all) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160; </div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#aab4b35bfb3caed9b6b1cedafa656f257">  394</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#aab4b35bfb3caed9b6b1cedafa656f257">detect</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* im, std::vector&lt;<a class="code" href="structpcl_1_1_point_u_v.html">pcl::PointUV</a>, Eigen::aligned_allocator&lt;pcl::PointUV&gt; &gt; &amp;corners_all) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160; </div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#afac61092df7caf3c007a5a3123572980">  399</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#afac61092df7caf3c007a5a3123572980">initPattern</a> ();</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160; </div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        <span class="keyword">private</span>:</div>
<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#aae8d19f8cfcf5070f5e51990b2d347db">  403</a></span>&#160;          <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> border_width_ = 1;</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160; </div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;          <span class="comment">// offsets defining the sample pattern</span></div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;          int_fast16_t s_offset0_;</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;          int_fast16_t s_offset1_;</div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;          int_fast16_t s_offset2_;</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;          int_fast16_t s_offset3_;</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;          int_fast16_t s_offset4_;</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;          int_fast16_t s_offset5_;</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;          int_fast16_t s_offset6_;</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;          int_fast16_t s_offset7_;</div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;      };</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160; </div>
<div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html">  424</a></span>&#160;      <span class="keyword">class </span>PCL_EXPORTS <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html">OastDetector9_16</a> : <span class="keyword">public</span> <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html">AbstractAgastDetector</a></div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;      {</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        <span class="keyword">public</span>:</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;          <span class="keyword">typedef</span> boost::shared_ptr&lt;OastDetector9_16&gt; Ptr;</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;          <span class="keyword">typedef</span> boost::shared_ptr&lt;const OastDetector9_16&gt; ConstPtr;</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160; </div>
<div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#aff695bdacdf4db62e667dc24dadfaa90">  436</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#aff695bdacdf4db62e667dc24dadfaa90">OastDetector9_16</a> (<span class="keyword">const</span> <span class="keywordtype">size_t</span> width, </div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;                            <span class="keyword">const</span> <span class="keywordtype">size_t</span> height, </div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;                            <span class="keyword">const</span> <span class="keywordtype">double</span> threshold,</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;                            <span class="keyword">const</span> <span class="keywordtype">double</span> bmax = 255) </div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;            : <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html">AbstractAgastDetector</a> (width, height, threshold, bmax)</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;          {</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;            initPattern ();</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;          }</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160; </div>
<div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a82a7102497c0969ef372050e0767619d">  446</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a82a7102497c0969ef372050e0767619d">~OastDetector9_16</a> () {}</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160; </div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;          <span class="keywordtype">int</span> </div>
<div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a52fe6d9a5a6a66453b9645b3af620c66">  452</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a52fe6d9a5a6a66453b9645b3af620c66">computeCornerScore</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* im) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160; </div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;          <span class="keywordtype">int</span> </div>
<div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a348bcf934a5361c83aba5fca57be6790">  458</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a348bcf934a5361c83aba5fca57be6790">computeCornerScore</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* im) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160; </div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#adb6a18797226c726868a74c2c48a7cb7">  465</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#adb6a18797226c726868a74c2c48a7cb7">detect</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* im, std::vector&lt;<a class="code" href="structpcl_1_1_point_u_v.html">pcl::PointUV</a>, Eigen::aligned_allocator&lt;pcl::PointUV&gt; &gt; &amp;corners_all) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160; </div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#af0e332439840973c2efcd85cc3e53dd1">  472</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#af0e332439840973c2efcd85cc3e53dd1">detect</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* im, std::vector&lt;<a class="code" href="structpcl_1_1_point_u_v.html">pcl::PointUV</a>, Eigen::aligned_allocator&lt;pcl::PointUV&gt; &gt; &amp;corners_all) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160; </div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;          <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00477"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a5c43ea75c633cd9dcfa244e36917dac9">  477</a></span>&#160;          <a class="code" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a5c43ea75c633cd9dcfa244e36917dac9">initPattern</a> ();</div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160; </div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        <span class="keyword">private</span>:</div>
<div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#aa613a6637f40a2e4aad8edb986c5507c">  481</a></span>&#160;          <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> border_width_ = 3;</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160; </div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;          <span class="comment">// offsets defining the sample pattern</span></div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;          int_fast16_t s_offset0_;</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;          int_fast16_t s_offset1_;</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;          int_fast16_t s_offset2_;</div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;          int_fast16_t s_offset3_;</div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;          int_fast16_t s_offset4_;</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;          int_fast16_t s_offset5_;</div>
<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;          int_fast16_t s_offset6_;</div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;          int_fast16_t s_offset7_;</div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;          int_fast16_t s_offset8_;</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;          int_fast16_t s_offset9_;</div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;          int_fast16_t s_offset10_;</div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;          int_fast16_t s_offset11_;</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;          int_fast16_t s_offset12_;</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;          int_fast16_t s_offset13_;</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;          int_fast16_t s_offset14_;</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;          int_fast16_t s_offset15_;</div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;      };</div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    } <span class="comment">// namespace agast</span></div>
<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;  } <span class="comment">// namespace keypoints</span></div>
<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160; </div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;  <span class="keyword">namespace </span>keypoints</div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;  {</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    <span class="keyword">namespace </span>internal</div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    {</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;      <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Out&gt; </div>
<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="structpcl_1_1keypoints_1_1internal_1_1_agast_apply_non_max_suppresion.html">  513</a></span>&#160;      <span class="keyword">struct </span><a class="code" href="structpcl_1_1keypoints_1_1internal_1_1_agast_apply_non_max_suppresion.html">AgastApplyNonMaxSuppresion</a></div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;      {</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;        <a class="code" href="structpcl_1_1keypoints_1_1internal_1_1_agast_apply_non_max_suppresion.html">AgastApplyNonMaxSuppresion</a> (</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;            <span class="keyword">const</span> std::vector&lt;unsigned char&gt; &amp;image_data, </div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;            <span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;tmp_cloud,</div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;            <span class="keyword">const</span> pcl::keypoints::agast::AbstractAgastDetector::Ptr &amp;detector,</div>
<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;            <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;Out&gt;</a> &amp;output)</div>
<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;        {</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;          <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> output_temp;</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;          detector-&gt;applyNonMaxSuppression (image_data, tmp_cloud, output_temp);</div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;          pcl::copyPointCloud&lt;pcl::PointUV, Out&gt; (output_temp, output);</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;        }</div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;      };</div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160; </div>
<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;      <span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="structpcl_1_1keypoints_1_1internal_1_1_agast_apply_non_max_suppresion_3_01pcl_1_1_point_u_v_01_4.html">  529</a></span>&#160;      <span class="keyword">struct </span><a class="code" href="structpcl_1_1keypoints_1_1internal_1_1_agast_apply_non_max_suppresion.html">AgastApplyNonMaxSuppresion</a>&lt;pcl::<a class="code" href="structpcl_1_1_point_u_v.html">PointUV</a>&gt;</div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;      {</div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;        <a class="code" href="structpcl_1_1keypoints_1_1internal_1_1_agast_apply_non_max_suppresion.html">AgastApplyNonMaxSuppresion</a> (</div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;            <span class="keyword">const</span> std::vector&lt;unsigned char&gt; &amp;image_data, </div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;            <span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;tmp_cloud,</div>
<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;            <span class="keyword">const</span> pcl::keypoints::agast::AbstractAgastDetector::Ptr &amp;detector,</div>
<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;            <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;output)</div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;        {</div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;          detector-&gt;applyNonMaxSuppression (image_data, tmp_cloud, output);</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;        }</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;      };</div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;      <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Out&gt; </div>
<div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="structpcl_1_1keypoints_1_1internal_1_1_agast_detector.html">  542</a></span>&#160;      <span class="keyword">struct </span><a class="code" href="structpcl_1_1keypoints_1_1internal_1_1_agast_detector.html">AgastDetector</a></div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;      {</div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;        <a class="code" href="structpcl_1_1keypoints_1_1internal_1_1_agast_detector.html">AgastDetector</a> (</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;            <span class="keyword">const</span> std::vector&lt;unsigned char&gt; &amp;image_data, </div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;            <span class="keyword">const</span> pcl::keypoints::agast::AbstractAgastDetector::Ptr &amp;detector,</div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;            <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;Out&gt;</a> &amp;output)</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;        {</div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;          <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> output_temp;</div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;          detector-&gt;detectKeypoints (image_data, output_temp);</div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;          pcl::copyPointCloud&lt;pcl::PointUV, Out&gt; (output_temp, output);</div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;        }</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;      };</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160; </div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;      <span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a name="l00557"></a><span class="lineno"><a class="line" href="structpcl_1_1keypoints_1_1internal_1_1_agast_detector_3_01pcl_1_1_point_u_v_01_4.html">  557</a></span>&#160;      <span class="keyword">struct </span><a class="code" href="structpcl_1_1keypoints_1_1internal_1_1_agast_detector.html">AgastDetector</a>&lt;pcl::<a class="code" href="structpcl_1_1_point_u_v.html">PointUV</a>&gt;</div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;      {</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        <a class="code" href="structpcl_1_1keypoints_1_1internal_1_1_agast_detector.html">AgastDetector</a> (</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;            <span class="keyword">const</span> std::vector&lt;unsigned char&gt; &amp;image_data, </div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;            <span class="keyword">const</span> pcl::keypoints::agast::AbstractAgastDetector::Ptr &amp;detector,</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;            <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;output)</div>
<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;        {</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;          detector-&gt;detectKeypoints (image_data, output);</div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;        }</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;      };</div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    } <span class="comment">// namespace agast</span></div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;  } <span class="comment">// namespace keypoints</span></div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160; </div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160; </div>
<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>InT, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>OutT, <span class="keyword">typename</span> IntensityT = pcl::common::IntensityFieldAccessor&lt;Po<span class="keywordtype">int</span>InT&gt; &gt;</div>
<div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html">  587</a></span>&#160;  <span class="keyword">class </span><a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html">AgastKeypoint2DBase</a> : <span class="keyword">public</span> <a class="code" href="classpcl_1_1_keypoint.html">Keypoint</a>&lt;PointInT, PointOutT&gt;</div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;  {</div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;    <span class="keyword">public</span>:</div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;      <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classpcl_1_1_point_cloud.html">Keypoint&lt;PointInT, PointOutT&gt;::PointCloudIn</a> <a class="code" href="classpcl_1_1_point_cloud.html">PointCloudIn</a>;</div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;      <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classpcl_1_1_point_cloud.html">Keypoint&lt;PointInT, PointOutT&gt;::PointCloudOut</a> <a class="code" href="classpcl_1_1_point_cloud.html">PointCloudOut</a>;</div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;      <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classpcl_1_1search_1_1_search.html">Keypoint&lt;PointInT, PointOutT&gt;::KdTree</a> <a class="code" href="classpcl_1_1search_1_1_search.html">KdTree</a>;</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;      <span class="keyword">typedef</span> <span class="keyword">typename</span> PointCloudIn::ConstPtr PointCloudInConstPtr;</div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160; </div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;      <span class="keyword">typedef</span> pcl::keypoints::agast::AbstractAgastDetector::Ptr AgastDetectorPtr;</div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;     </div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_keypoint.html">Keypoint&lt;PointInT, PointOutT&gt;::name_</a>;</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_keypoint.html">Keypoint&lt;PointInT, PointOutT&gt;::input_</a>;</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_keypoint.html">Keypoint&lt;PointInT, PointOutT&gt;::indices_</a>;</div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_keypoint.html">Keypoint&lt;PointInT, PointOutT&gt;::k_</a>;</div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160; </div>
<div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#ab433c5dee1ce520ccefd403885133402">  603</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#ab433c5dee1ce520ccefd403885133402">AgastKeypoint2DBase</a> ()</div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;        : <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a3fa742a17e73bbf367a5ec67402efeef">threshold_</a> (10)</div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;        , <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#abc46374a276cd14177f45d20b6f5ff1c">apply_non_max_suppression_</a> (true)</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;        , <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a7226354a5af9c3daa77ee174ee771b89">bmax_</a> (255)</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;        , <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a9ee609d7022fc586127729029ce27447">detector_</a> ()</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;        , <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#aa1c97ed82c68cf86ab23f3aee57d3cb1">nr_max_keypoints_</a> (std::numeric_limits&lt;unsigned int&gt;::max ())</div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;      {</div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;        <a class="code" href="classpcl_1_1_keypoint.html#a93359dca5b099e843c3cf0d0db1c59e1">k_</a> = 1;</div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;      }</div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160; </div>
<div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#a54098c84d5738e764fc636745a4f70df">  614</a></span>&#160;      <span class="keyword">virtual</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a54098c84d5738e764fc636745a4f70df">~AgastKeypoint2DBase</a> ()</div>
<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;      {</div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;      }</div>
<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160; </div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00622"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#a7fcafff800893f95e1dc9ed9e7a58d14">  622</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a7fcafff800893f95e1dc9ed9e7a58d14">setThreshold</a> (<span class="keyword">const</span> <span class="keywordtype">double</span> threshold)</div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;      {</div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;        <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a3fa742a17e73bbf367a5ec67402efeef">threshold_</a> = threshold;</div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;      }</div>
<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160; </div>
<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">double</span></div>
<div class="line"><a name="l00629"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#a229986d52bd25c46ae604ab383858efd">  629</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a229986d52bd25c46ae604ab383858efd">getThreshold</a> ()</div>
<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;      {</div>
<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a3fa742a17e73bbf367a5ec67402efeef">threshold_</a>);</div>
<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;      }</div>
<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160; </div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00639"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#a7219fa5b5ffa8a41e67f2a999ef55a4f">  639</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a7219fa5b5ffa8a41e67f2a999ef55a4f">setMaxKeypoints</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nr_max_keypoints)</div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;      {</div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;        <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#aa1c97ed82c68cf86ab23f3aee57d3cb1">nr_max_keypoints_</a> = nr_max_keypoints;</div>
<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;      }</div>
<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160; </div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> </div>
<div class="line"><a name="l00646"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#afc90e3ce3d5b82c2426b6e82d75d2b0e">  646</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#afc90e3ce3d5b82c2426b6e82d75d2b0e">getMaxKeypoints</a> ()</div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;      {</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#aa1c97ed82c68cf86ab23f3aee57d3cb1">nr_max_keypoints_</a>);</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;      }</div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160; </div>
<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#a38fcda315ed1385558e44544635c818a">  655</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a38fcda315ed1385558e44544635c818a">setMaxDataValue</a> (<span class="keyword">const</span> <span class="keywordtype">double</span> bmax)</div>
<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;      {</div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;        <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a7226354a5af9c3daa77ee174ee771b89">bmax_</a> = bmax;</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;      }</div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160; </div>
<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">double</span></div>
<div class="line"><a name="l00662"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#a7599ab815736a5a75d703d4ccab70bcc">  662</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a7599ab815736a5a75d703d4ccab70bcc">getMaxDataValue</a> ()</div>
<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;      {</div>
<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a7226354a5af9c3daa77ee174ee771b89">bmax_</a>);</div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;      }</div>
<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160; </div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00671"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#ad5b6e04f35aea17cff25bd374e232179">  671</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#ad5b6e04f35aea17cff25bd374e232179">setNonMaxSuppression</a> (<span class="keyword">const</span> <span class="keywordtype">bool</span> enabled)</div>
<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;      {</div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;        <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#abc46374a276cd14177f45d20b6f5ff1c">apply_non_max_suppression_</a> = enabled;</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;      }</div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160; </div>
<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00678"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#aaaee15d894aa3874adc787d0e46b313c">  678</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#aaaee15d894aa3874adc787d0e46b313c">getNonMaxSuppression</a> ()</div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;      {</div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#abc46374a276cd14177f45d20b6f5ff1c">apply_non_max_suppression_</a>);</div>
<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;      }</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160; </div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;      <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;      setAgastDetector (<span class="keyword">const</span> AgastDetectorPtr &amp;detector)</div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;      {</div>
<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;        <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a9ee609d7022fc586127729029ce27447">detector_</a> = detector;</div>
<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;      }</div>
<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160; </div>
<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;      <span class="keyword">inline</span> AgastDetectorPtr</div>
<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;      getAgastDetector ()</div>
<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;      {</div>
<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a9ee609d7022fc586127729029ce27447">detector_</a>);</div>
<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;      }</div>
<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;    <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160; </div>
<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;      <span class="keywordtype">bool</span> </div>
<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#aa9e8befbad655e2ff630871ac452146f">initCompute</a> ();</div>
<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;      </div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;      <span class="keyword">virtual</span> <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00704"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#af0c8f7bcf9625839de10f6b2aec57c63">  704</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#af0c8f7bcf9625839de10f6b2aec57c63">detectKeypoints</a> (<a class="code" href="classpcl_1_1_point_cloud.html">PointCloudOut</a> &amp;output) = 0;</div>
<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160; </div>
<div class="line"><a name="l00707"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#a4a6279fb59e170b759712be65de09854">  707</a></span>&#160;      IntensityT <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a4a6279fb59e170b759712be65de09854">intensity_</a>;</div>
<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;      </div>
<div class="line"><a name="l00710"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#a3fa742a17e73bbf367a5ec67402efeef">  710</a></span>&#160;      <span class="keywordtype">double</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a3fa742a17e73bbf367a5ec67402efeef">threshold_</a>;</div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160; </div>
<div class="line"><a name="l00713"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#abc46374a276cd14177f45d20b6f5ff1c">  713</a></span>&#160;      <span class="keywordtype">bool</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#abc46374a276cd14177f45d20b6f5ff1c">apply_non_max_suppression_</a>;</div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160; </div>
<div class="line"><a name="l00716"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#a7226354a5af9c3daa77ee174ee771b89">  716</a></span>&#160;      <span class="keywordtype">double</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a7226354a5af9c3daa77ee174ee771b89">bmax_</a>;</div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160; </div>
<div class="line"><a name="l00719"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#a9ee609d7022fc586127729029ce27447">  719</a></span>&#160;      AgastDetectorPtr <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a9ee609d7022fc586127729029ce27447">detector_</a>;</div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160; </div>
<div class="line"><a name="l00722"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_base.html#aa1c97ed82c68cf86ab23f3aee57d3cb1">  722</a></span>&#160;      <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#aa1c97ed82c68cf86ab23f3aee57d3cb1">nr_max_keypoints_</a>;</div>
<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;  };</div>
<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160; </div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>InT, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>OutT = pcl::Po<span class="keywordtype">int</span>UV&gt;</div>
<div class="line"><a name="l00751"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d.html">  751</a></span>&#160;  <span class="keyword">class </span><a class="code" href="classpcl_1_1_agast_keypoint2_d.html">AgastKeypoint2D</a> : <span class="keyword">public</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html">AgastKeypoint2DBase</a>&lt;PointInT, PointOutT, pcl::common::IntensityFieldAccessor&lt;PointInT&gt; &gt;</div>
<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;  {</div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    <span class="keyword">public</span>:</div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;      <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classpcl_1_1_point_cloud.html">Keypoint&lt;PointInT, PointOutT&gt;::PointCloudOut</a> <a class="code" href="classpcl_1_1_point_cloud.html">PointCloudOut</a>;</div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160; </div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_keypoint.html">Keypoint&lt;PointInT, PointOutT&gt;::name_</a>;</div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_keypoint.html">Keypoint&lt;PointInT, PointOutT&gt;::input_</a>;</div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_keypoint.html">Keypoint&lt;PointInT, PointOutT&gt;::indices_</a>;</div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_keypoint.html">Keypoint&lt;PointInT, PointOutT&gt;::k_</a>;</div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html">AgastKeypoint2DBase&lt;PointInT, PointOutT, pcl::common::IntensityFieldAccessor&lt;PointInT&gt;</a> &gt;<a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a4a6279fb59e170b759712be65de09854">::intensity_</a>;</div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html">AgastKeypoint2DBase&lt;PointInT, PointOutT, pcl::common::IntensityFieldAccessor&lt;PointInT&gt;</a> &gt;<a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a3fa742a17e73bbf367a5ec67402efeef">::threshold_</a>;</div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html">AgastKeypoint2DBase&lt;PointInT, PointOutT, pcl::common::IntensityFieldAccessor&lt;PointInT&gt;</a> &gt;<a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a7226354a5af9c3daa77ee174ee771b89">::bmax_</a>;</div>
<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html">AgastKeypoint2DBase&lt;PointInT, PointOutT, pcl::common::IntensityFieldAccessor&lt;PointInT&gt;</a> &gt;<a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#abc46374a276cd14177f45d20b6f5ff1c">::apply_non_max_suppression_</a>;</div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html">AgastKeypoint2DBase&lt;PointInT, PointOutT, pcl::common::IntensityFieldAccessor&lt;PointInT&gt;</a> &gt;<a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a9ee609d7022fc586127729029ce27447">::detector_</a>;</div>
<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;      <span class="keyword">using</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html">AgastKeypoint2DBase&lt;PointInT, PointOutT, pcl::common::IntensityFieldAccessor&lt;PointInT&gt;</a> &gt;<a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#aa1c97ed82c68cf86ab23f3aee57d3cb1">::nr_max_keypoints_</a>;</div>
<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160; </div>
<div class="line"><a name="l00768"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d.html#a9305825b2a5cdde9e26fec862c1cc157">  768</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d.html#a9305825b2a5cdde9e26fec862c1cc157">AgastKeypoint2D</a> ()</div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;      {</div>
<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;        <a class="code" href="classpcl_1_1_keypoint.html#aef5710b81d66e6d429a9dfeb41d606ff">name_</a> = <span class="stringliteral">&quot;AgastKeypoint2D&quot;</span>;</div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;      }</div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160; </div>
<div class="line"><a name="l00774"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d.html#ad304e16259359c5771477ed50e907636">  774</a></span>&#160;      <span class="keyword">virtual</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d.html#ad304e16259359c5771477ed50e907636">~AgastKeypoint2D</a> ()</div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;      {</div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;      }</div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160; </div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;      <span class="keyword">virtual</span> <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d.html#ab5c9e17cdb569700063b5267236cbcb8">detectKeypoints</a> (PointCloudOut &amp;output);</div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;  };</div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160; </div>
<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;  <span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a name="l00813"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4.html">  813</a></span>&#160;  <span class="keyword">class </span><a class="code" href="classpcl_1_1_agast_keypoint2_d.html">AgastKeypoint2D</a>&lt;pcl::<a class="code" href="structpcl_1_1_point_x_y_z.html">PointXYZ</a>, <a class="code" href="structpcl_1_1_point_u_v.html">pcl::PointUV</a>&gt;</div>
<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;    : <span class="keyword">public</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html">AgastKeypoint2DBase</a>&lt;pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor&lt;pcl::PointXYZ&gt; &gt; </div>
<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;  {</div>
<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;    <span class="keyword">public</span>:</div>
<div class="line"><a name="l00818"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4.html#aa2f56789e23224254ad2085af2775646">  818</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4.html#aa2f56789e23224254ad2085af2775646">AgastKeypoint2D</a> ()</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;      {</div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;        <a class="code" href="classpcl_1_1_keypoint.html#aef5710b81d66e6d429a9dfeb41d606ff">name_</a> = <span class="stringliteral">&quot;AgastKeypoint2D&quot;</span>;</div>
<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;        <a class="code" href="classpcl_1_1_agast_keypoint2_d_base.html#a7226354a5af9c3daa77ee174ee771b89">bmax_</a> = 4;    <span class="comment">// max data value for an OpenNI camera</span></div>
<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;      }</div>
<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160; </div>
<div class="line"><a name="l00825"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4.html#af7a68e509b14efaa1acbcab0ec2e477a">  825</a></span>&#160;      <span class="keyword">virtual</span> <a class="code" href="classpcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4.html#af7a68e509b14efaa1acbcab0ec2e477a">~AgastKeypoint2D</a> ()</div>
<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;      {</div>
<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;      }</div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160; </div>
<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;    <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;      <span class="keyword">virtual</span> <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00834"></a><span class="lineno"><a class="line" href="classpcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4.html#ab924ed6ee30267c759e13ba0c9e145e9">  834</a></span>&#160;      <a class="code" href="classpcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4.html#ab924ed6ee30267c759e13ba0c9e145e9">detectKeypoints</a> (<a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::PointUV&gt;</a> &amp;output);</div>
<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;  };</div>
<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160; </div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;}</div>
<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160; </div>
<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;<span class="preprocessor">#include &lt;pcl/keypoints/impl/agast_2d.hpp&gt;</span></div>
<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160; </div>
<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160; </div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4_html_aa2f56789e23224254ad2085af2775646"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4.html#aa2f56789e23224254ad2085af2775646">pcl::AgastKeypoint2D&lt; pcl::PointXYZ, pcl::PointUV &gt;::AgastKeypoint2D</a></div><div class="ttdeci">AgastKeypoint2D()</div><div class="ttdoc">Constructor</div><div class="ttdef"><b>Definition:</b> agast_2d.h:818</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4_html_ab924ed6ee30267c759e13ba0c9e145e9"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4.html#ab924ed6ee30267c759e13ba0c9e145e9">pcl::AgastKeypoint2D&lt; pcl::PointXYZ, pcl::PointUV &gt;::detectKeypoints</a></div><div class="ttdeci">virtual void detectKeypoints(pcl::PointCloud&lt; pcl::PointUV &gt; &amp;output)</div><div class="ttdoc">Detects the keypoints.</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4_html_af7a68e509b14efaa1acbcab0ec2e477a"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4.html#af7a68e509b14efaa1acbcab0ec2e477a">pcl::AgastKeypoint2D&lt; pcl::PointXYZ, pcl::PointUV &gt;::~AgastKeypoint2D</a></div><div class="ttdeci">virtual ~AgastKeypoint2D()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:825</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html">pcl::AgastKeypoint2DBase</a></div><div class="ttdoc">Detects 2D AGAST corner points. Based on the original work and paper reference by</div><div class="ttdef"><b>Definition:</b> agast_2d.h:588</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_a229986d52bd25c46ae604ab383858efd"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#a229986d52bd25c46ae604ab383858efd">pcl::AgastKeypoint2DBase::getThreshold</a></div><div class="ttdeci">double getThreshold()</div><div class="ttdoc">Get the threshold for corner detection, as set by the user.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:629</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_a38fcda315ed1385558e44544635c818a"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#a38fcda315ed1385558e44544635c818a">pcl::AgastKeypoint2DBase::setMaxDataValue</a></div><div class="ttdeci">void setMaxDataValue(const double bmax)</div><div class="ttdoc">Sets the max image data value (affects how many iterations AGAST does)</div><div class="ttdef"><b>Definition:</b> agast_2d.h:655</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_a3fa742a17e73bbf367a5ec67402efeef"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#a3fa742a17e73bbf367a5ec67402efeef">pcl::AgastKeypoint2DBase::threshold_</a></div><div class="ttdeci">double threshold_</div><div class="ttdoc">Threshold for corner detection.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:710</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_a4a6279fb59e170b759712be65de09854"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#a4a6279fb59e170b759712be65de09854">pcl::AgastKeypoint2DBase::intensity_</a></div><div class="ttdeci">IntensityT intensity_</div><div class="ttdoc">Intensity field accessor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:707</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_a54098c84d5738e764fc636745a4f70df"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#a54098c84d5738e764fc636745a4f70df">pcl::AgastKeypoint2DBase::~AgastKeypoint2DBase</a></div><div class="ttdeci">virtual ~AgastKeypoint2DBase()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:614</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_a7219fa5b5ffa8a41e67f2a999ef55a4f"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#a7219fa5b5ffa8a41e67f2a999ef55a4f">pcl::AgastKeypoint2DBase::setMaxKeypoints</a></div><div class="ttdeci">void setMaxKeypoints(const unsigned int nr_max_keypoints)</div><div class="ttdoc">Sets the maximum number of keypoints to return. The estimated keypoints are sorted by their internal ...</div><div class="ttdef"><b>Definition:</b> agast_2d.h:639</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_a7226354a5af9c3daa77ee174ee771b89"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#a7226354a5af9c3daa77ee174ee771b89">pcl::AgastKeypoint2DBase::bmax_</a></div><div class="ttdeci">double bmax_</div><div class="ttdoc">Max image value.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:716</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_a7599ab815736a5a75d703d4ccab70bcc"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#a7599ab815736a5a75d703d4ccab70bcc">pcl::AgastKeypoint2DBase::getMaxDataValue</a></div><div class="ttdeci">double getMaxDataValue()</div><div class="ttdoc">Get the bmax image value, as set by the user.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:662</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_a7fcafff800893f95e1dc9ed9e7a58d14"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#a7fcafff800893f95e1dc9ed9e7a58d14">pcl::AgastKeypoint2DBase::setThreshold</a></div><div class="ttdeci">void setThreshold(const double threshold)</div><div class="ttdoc">Sets the threshold for corner detection.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:622</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_a9ee609d7022fc586127729029ce27447"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#a9ee609d7022fc586127729029ce27447">pcl::AgastKeypoint2DBase::detector_</a></div><div class="ttdeci">AgastDetectorPtr detector_</div><div class="ttdoc">The Agast detector to use.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:719</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_aa1c97ed82c68cf86ab23f3aee57d3cb1"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#aa1c97ed82c68cf86ab23f3aee57d3cb1">pcl::AgastKeypoint2DBase::nr_max_keypoints_</a></div><div class="ttdeci">unsigned int nr_max_keypoints_</div><div class="ttdoc">The maximum number of keypoints to return.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:722</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_aa9e8befbad655e2ff630871ac452146f"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#aa9e8befbad655e2ff630871ac452146f">pcl::AgastKeypoint2DBase::initCompute</a></div><div class="ttdeci">bool initCompute()</div><div class="ttdoc">Initializes everything and checks whether input data is fine.</div><div class="ttdef"><b>Definition:</b> agast_2d.hpp:46</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_aaaee15d894aa3874adc787d0e46b313c"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#aaaee15d894aa3874adc787d0e46b313c">pcl::AgastKeypoint2DBase::getNonMaxSuppression</a></div><div class="ttdeci">bool getNonMaxSuppression()</div><div class="ttdoc">Returns whether non-max-suppression is applied or not.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:678</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_ab433c5dee1ce520ccefd403885133402"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#ab433c5dee1ce520ccefd403885133402">pcl::AgastKeypoint2DBase::AgastKeypoint2DBase</a></div><div class="ttdeci">AgastKeypoint2DBase()</div><div class="ttdoc">Constructor</div><div class="ttdef"><b>Definition:</b> agast_2d.h:603</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_abc46374a276cd14177f45d20b6f5ff1c"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#abc46374a276cd14177f45d20b6f5ff1c">pcl::AgastKeypoint2DBase::apply_non_max_suppression_</a></div><div class="ttdeci">bool apply_non_max_suppression_</div><div class="ttdoc">Determines whether non-max-suppression is activated.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:713</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_ad5b6e04f35aea17cff25bd374e232179"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#ad5b6e04f35aea17cff25bd374e232179">pcl::AgastKeypoint2DBase::setNonMaxSuppression</a></div><div class="ttdeci">void setNonMaxSuppression(const bool enabled)</div><div class="ttdoc">Sets whether non-max-suppression is applied or not.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:671</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_af0c8f7bcf9625839de10f6b2aec57c63"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#af0c8f7bcf9625839de10f6b2aec57c63">pcl::AgastKeypoint2DBase::detectKeypoints</a></div><div class="ttdeci">virtual void detectKeypoints(PointCloudOut &amp;output)=0</div><div class="ttdoc">Detects the keypoints.</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_base_html_afc90e3ce3d5b82c2426b6e82d75d2b0e"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d_base.html#afc90e3ce3d5b82c2426b6e82d75d2b0e">pcl::AgastKeypoint2DBase::getMaxKeypoints</a></div><div class="ttdeci">unsigned int getMaxKeypoints()</div><div class="ttdoc">Get the maximum nuber of keypoints to return, as set by the user.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:646</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_html"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d.html">pcl::AgastKeypoint2D</a></div><div class="ttdoc">Detects 2D AGAST corner points. Based on the original work and paper reference by</div><div class="ttdef"><b>Definition:</b> agast_2d.h:752</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_html_a9305825b2a5cdde9e26fec862c1cc157"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d.html#a9305825b2a5cdde9e26fec862c1cc157">pcl::AgastKeypoint2D::AgastKeypoint2D</a></div><div class="ttdeci">AgastKeypoint2D()</div><div class="ttdoc">Constructor</div><div class="ttdef"><b>Definition:</b> agast_2d.h:768</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_html_ab5c9e17cdb569700063b5267236cbcb8"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d.html#ab5c9e17cdb569700063b5267236cbcb8">pcl::AgastKeypoint2D::detectKeypoints</a></div><div class="ttdeci">virtual void detectKeypoints(PointCloudOut &amp;output)</div><div class="ttdoc">Detects the keypoints.</div><div class="ttdef"><b>Definition:</b> agast_2d.hpp:65</div></div>
<div class="ttc" id="aclasspcl_1_1_agast_keypoint2_d_html_ad304e16259359c5771477ed50e907636"><div class="ttname"><a href="classpcl_1_1_agast_keypoint2_d.html#ad304e16259359c5771477ed50e907636">pcl::AgastKeypoint2D::~AgastKeypoint2D</a></div><div class="ttdeci">virtual ~AgastKeypoint2D()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:774</div></div>
<div class="ttc" id="aclasspcl_1_1_keypoint_html"><div class="ttname"><a href="classpcl_1_1_keypoint.html">pcl::Keypoint</a></div><div class="ttdoc">Keypoint represents the base class for key points.</div><div class="ttdef"><b>Definition:</b> keypoint.h:50</div></div>
<div class="ttc" id="aclasspcl_1_1_keypoint_html_a93359dca5b099e843c3cf0d0db1c59e1"><div class="ttname"><a href="classpcl_1_1_keypoint.html#a93359dca5b099e843c3cf0d0db1c59e1">pcl::Keypoint::k_</a></div><div class="ttdeci">int k_</div><div class="ttdoc">The number of K nearest neighbors to use for each point.</div><div class="ttdef"><b>Definition:</b> keypoint.h:194</div></div>
<div class="ttc" id="aclasspcl_1_1_keypoint_html_aef5710b81d66e6d429a9dfeb41d606ff"><div class="ttname"><a href="classpcl_1_1_keypoint.html#aef5710b81d66e6d429a9dfeb41d606ff">pcl::Keypoint::name_</a></div><div class="ttdeci">std::string name_</div><div class="ttdoc">The key point detection method's name.</div><div class="ttdef"><b>Definition:</b> keypoint.h:173</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html"><div class="ttname"><a href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt; pcl::PointUV &gt;</a></div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html">pcl::keypoints::agast::AbstractAgastDetector</a></div><div class="ttdoc">Abstract detector class for AGAST corner point detectors.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:63</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a0ee56e1bd42cb8599d0f8de368e509b2"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a0ee56e1bd42cb8599d0f8de368e509b2">pcl::keypoints::agast::AbstractAgastDetector::detect</a></div><div class="ttdeci">virtual void detect(const float *im, std::vector&lt; pcl::PointUV, Eigen::aligned_allocator&lt; pcl::PointUV &gt; &gt; &amp;) const =0</div><div class="ttdoc">Detects points of interest (i.e., keypoints) in the given image</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a20a0a11c7b1ece0e1aedd08e0b694ae6"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a20a0a11c7b1ece0e1aedd08e0b694ae6">pcl::keypoints::agast::AbstractAgastDetector::width_</a></div><div class="ttdeci">size_t width_</div><div class="ttdoc">Width of the image to process.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:242</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a2702b38fea665659346b2c692485eb82"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2702b38fea665659346b2c692485eb82">pcl::keypoints::agast::AbstractAgastDetector::~AbstractAgastDetector</a></div><div class="ttdeci">virtual ~AbstractAgastDetector()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:86</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a2712d02a6b0264813ec631c2926d3bbb"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2712d02a6b0264813ec631c2926d3bbb">pcl::keypoints::agast::AbstractAgastDetector::setMaxKeypoints</a></div><div class="ttdeci">void setMaxKeypoints(const unsigned int nr_max_keypoints)</div><div class="ttdoc">Sets the maximum number of keypoints to return. The estimated keypoints are sorted by their internal ...</div><div class="ttdef"><b>Definition:</b> agast_2d.h:157</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a28fdd805e64e27e97e26522eef5d86f1"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a28fdd805e64e27e97e26522eef5d86f1">pcl::keypoints::agast::AbstractAgastDetector::threshold_</a></div><div class="ttdeci">double threshold_</div><div class="ttdoc">Threshold for corner detection.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:247</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a2e60cf595fe72727a50f91172b6b1f76"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2e60cf595fe72727a50f91172b6b1f76">pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression</a></div><div class="ttdeci">void applyNonMaxSuppression(const std::vector&lt; unsigned char &gt; &amp;intensity_data, const pcl::PointCloud&lt; pcl::PointUV &gt; &amp;input, pcl::PointCloud&lt; pcl::PointUV &gt; &amp;output)</div><div class="ttdoc">Applies non-max-suppression.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a2f764d48443da157a918505da83a66c8"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a2f764d48443da157a918505da83a66c8">pcl::keypoints::agast::AbstractAgastDetector::height_</a></div><div class="ttdeci">size_t height_</div><div class="ttdoc">Height of the image to process.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:244</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a36d8ee7b396abcf4e8f6dd93c357ee4f"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a36d8ee7b396abcf4e8f6dd93c357ee4f">pcl::keypoints::agast::AbstractAgastDetector::AbstractAgastDetector</a></div><div class="ttdeci">AbstractAgastDetector(const size_t width, const size_t height, const double threshold, const double bmax)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:74</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a470232e7a64372477faf43512f518102"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a470232e7a64372477faf43512f518102">pcl::keypoints::agast::AbstractAgastDetector::computeCornerScores</a></div><div class="ttdeci">void computeCornerScores(const unsigned char *im, const std::vector&lt; pcl::PointUV, Eigen::aligned_allocator&lt; pcl::PointUV &gt; &gt; &amp;corners_all, std::vector&lt; ScoreIndex &gt; &amp;scores)</div><div class="ttdoc">Computes corner scores for the specified points.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a53415de44dc2ae2728013a4ca85af15c"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a53415de44dc2ae2728013a4ca85af15c">pcl::keypoints::agast::AbstractAgastDetector::getMaxKeypoints</a></div><div class="ttdeci">unsigned int getMaxKeypoints()</div><div class="ttdoc">Get the maximum nuber of keypoints to return, as set by the user.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:164</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a6846bbbbd9b4d6d063613a7fc454314d"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a6846bbbbd9b4d6d063613a7fc454314d">pcl::keypoints::agast::AbstractAgastDetector::setThreshold</a></div><div class="ttdeci">void setThreshold(const double threshold)</div><div class="ttdoc">Sets the threshold for corner detection.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:140</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a68693f48efdc32fc292da634f187b7a2"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a68693f48efdc32fc292da634f187b7a2">pcl::keypoints::agast::AbstractAgastDetector::getThreshold</a></div><div class="ttdeci">double getThreshold()</div><div class="ttdoc">Get the threshold for corner detection, as set by the user.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:147</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a80b6333d58f4f0218dd1fa80083d845f"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a80b6333d58f4f0218dd1fa80083d845f">pcl::keypoints::agast::AbstractAgastDetector::initPattern</a></div><div class="ttdeci">virtual void initPattern()=0</div><div class="ttdoc">Initializes the sample pattern.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_a9e086276b2b357b40009e698cf4a39c4"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#a9e086276b2b357b40009e698cf4a39c4">pcl::keypoints::agast::AbstractAgastDetector::detect</a></div><div class="ttdeci">virtual void detect(const unsigned char *im, std::vector&lt; pcl::PointUV, Eigen::aligned_allocator&lt; pcl::PointUV &gt; &gt; &amp;corners_all) const =0</div><div class="ttdoc">Detects points of interest (i.e., keypoints) in the given image</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_aa994a405e6650454483e29f0d9b907cb"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#aa994a405e6650454483e29f0d9b907cb">pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression</a></div><div class="ttdeci">void applyNonMaxSuppression(const pcl::PointCloud&lt; pcl::PointUV &gt; &amp;input, const std::vector&lt; ScoreIndex &gt; &amp;scores, pcl::PointCloud&lt; pcl::PointUV &gt; &amp;output)</div><div class="ttdoc">Non-max-suppression helper method.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_aad57d4be9cd0653695650608644fb820"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#aad57d4be9cd0653695650608644fb820">pcl::keypoints::agast::AbstractAgastDetector::nr_max_keypoints_</a></div><div class="ttdeci">unsigned int nr_max_keypoints_</div><div class="ttdoc">The maximum number of keypoints to return.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:250</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_ab0a6310dd6526c5f90fc1add3f30b1fc"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ab0a6310dd6526c5f90fc1add3f30b1fc">pcl::keypoints::agast::AbstractAgastDetector::computeCornerScores</a></div><div class="ttdeci">void computeCornerScores(const float *im, const std::vector&lt; pcl::PointUV, Eigen::aligned_allocator&lt; pcl::PointUV &gt; &gt; &amp;corners_all, std::vector&lt; ScoreIndex &gt; &amp;scores)</div><div class="ttdoc">Computes corner scores for the specified points.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_ab3b43377441c2510ba4d06e3b56b1695"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ab3b43377441c2510ba4d06e3b56b1695">pcl::keypoints::agast::AbstractAgastDetector::detectKeypoints</a></div><div class="ttdeci">void detectKeypoints(const std::vector&lt; float &gt; &amp;intensity_data, pcl::PointCloud&lt; pcl::PointUV &gt; &amp;output)</div><div class="ttdoc">Detects corner points.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_ab793848fb125b65c4b8e68eb4341f6f8"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ab793848fb125b65c4b8e68eb4341f6f8">pcl::keypoints::agast::AbstractAgastDetector::computeCornerScore</a></div><div class="ttdeci">virtual int computeCornerScore(const unsigned char *im) const =0</div><div class="ttdoc">Computes corner score.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_ac9ec794d2551c0d78debe989650a103b"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ac9ec794d2551c0d78debe989650a103b">pcl::keypoints::agast::AbstractAgastDetector::detectKeypoints</a></div><div class="ttdeci">void detectKeypoints(const std::vector&lt; unsigned char &gt; &amp;intensity_data, pcl::PointCloud&lt; pcl::PointUV &gt; &amp;output)</div><div class="ttdoc">Detects corner points.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_adfd3667d1a4e0311a0908aeea42b2cd9"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#adfd3667d1a4e0311a0908aeea42b2cd9">pcl::keypoints::agast::AbstractAgastDetector::computeCornerScore</a></div><div class="ttdeci">virtual int computeCornerScore(const float *im) const =0</div><div class="ttdoc">Computes corner score.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_ae936195a723d48c3730584a74eb32bb1"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#ae936195a723d48c3730584a74eb32bb1">pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression</a></div><div class="ttdeci">void applyNonMaxSuppression(const std::vector&lt; float &gt; &amp;intensity_data, const pcl::PointCloud&lt; pcl::PointUV &gt; &amp;input, pcl::PointCloud&lt; pcl::PointUV &gt; &amp;output)</div><div class="ttdoc">Applies non-max-suppression.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_html_af1b1c542c9a00d96bb2d00b0c8d43f4f"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html#af1b1c542c9a00d96bb2d00b0c8d43f4f">pcl::keypoints::agast::AbstractAgastDetector::bmax_</a></div><div class="ttdeci">double bmax_</div><div class="ttdoc">Max image value.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:253</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector5__8_html"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html">pcl::keypoints::agast::AgastDetector5_8</a></div><div class="ttdoc">Detector class for AGAST corner point detector (5_8).</div><div class="ttdef"><b>Definition:</b> agast_2d.h:347</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector5__8_html_a48e9210cbaf2c9943ff88d913596edde"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#a48e9210cbaf2c9943ff88d913596edde">pcl::keypoints::agast::AgastDetector5_8::computeCornerScore</a></div><div class="ttdeci">int computeCornerScore(const unsigned char *im) const</div><div class="ttdoc">Computes corner score.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector5__8_html_aa56e7d419e4095a3f04f45036e74a1a0"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#aa56e7d419e4095a3f04f45036e74a1a0">pcl::keypoints::agast::AgastDetector5_8::computeCornerScore</a></div><div class="ttdeci">int computeCornerScore(const float *im) const</div><div class="ttdoc">Computes corner score.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector5__8_html_aab4b35bfb3caed9b6b1cedafa656f257"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#aab4b35bfb3caed9b6b1cedafa656f257">pcl::keypoints::agast::AgastDetector5_8::detect</a></div><div class="ttdeci">void detect(const float *im, std::vector&lt; pcl::PointUV, Eigen::aligned_allocator&lt; pcl::PointUV &gt; &gt; &amp;corners_all) const</div><div class="ttdoc">Detects points of interest (i.e., keypoints) in the given image</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector5__8_html_ab4bef72ec0d307360d99c8fae5d818ff"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#ab4bef72ec0d307360d99c8fae5d818ff">pcl::keypoints::agast::AgastDetector5_8::detect</a></div><div class="ttdeci">void detect(const unsigned char *im, std::vector&lt; pcl::PointUV, Eigen::aligned_allocator&lt; pcl::PointUV &gt; &gt; &amp;corners_all) const</div><div class="ttdoc">Detects points of interest (i.e., keypoints) in the given image</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector5__8_html_ab69a329749296e67f33455f82f01f6db"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#ab69a329749296e67f33455f82f01f6db">pcl::keypoints::agast::AgastDetector5_8::AgastDetector5_8</a></div><div class="ttdeci">AgastDetector5_8(const size_t width, const size_t height, const double threshold, const double bmax=255)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:358</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector5__8_html_abb5851e7c9180419066fb660f5c1da60"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#abb5851e7c9180419066fb660f5c1da60">pcl::keypoints::agast::AgastDetector5_8::~AgastDetector5_8</a></div><div class="ttdeci">~AgastDetector5_8()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:368</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector5__8_html_afac61092df7caf3c007a5a3123572980"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector5__8.html#afac61092df7caf3c007a5a3123572980">pcl::keypoints::agast::AgastDetector5_8::initPattern</a></div><div class="ttdeci">void initPattern()</div><div class="ttdoc">Initializes the sample pattern.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s_html"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html">pcl::keypoints::agast::AgastDetector7_12s</a></div><div class="ttdoc">Detector class for AGAST corner point detector (7_12s).</div><div class="ttdef"><b>Definition:</b> agast_2d.h:265</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s_html_a0d8f6396a13a8ce6f8c445f5042d72ee"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a0d8f6396a13a8ce6f8c445f5042d72ee">pcl::keypoints::agast::AgastDetector7_12s::initPattern</a></div><div class="ttdeci">void initPattern()</div><div class="ttdoc">Initializes the sample pattern.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s_html_a47a0be917f8a75e37d8209455fdc895e"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a47a0be917f8a75e37d8209455fdc895e">pcl::keypoints::agast::AgastDetector7_12s::detect</a></div><div class="ttdeci">void detect(const unsigned char *im, std::vector&lt; pcl::PointUV, Eigen::aligned_allocator&lt; pcl::PointUV &gt; &gt; &amp;corners_all) const</div><div class="ttdoc">Detects points of interest (i.e., keypoints) in the given image</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s_html_a586164f0b54413d96dea2492be74a80f"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a586164f0b54413d96dea2492be74a80f">pcl::keypoints::agast::AgastDetector7_12s::computeCornerScore</a></div><div class="ttdeci">int computeCornerScore(const unsigned char *im) const</div><div class="ttdoc">Computes corner score.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s_html_a73801c277865ae00133923c348f47242"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a73801c277865ae00133923c348f47242">pcl::keypoints::agast::AgastDetector7_12s::AgastDetector7_12s</a></div><div class="ttdeci">AgastDetector7_12s(const size_t width, const size_t height, const double threshold, const double bmax=255)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:276</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s_html_a77fc6df95dc35d855d4ed0b16b1d90a4"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a77fc6df95dc35d855d4ed0b16b1d90a4">pcl::keypoints::agast::AgastDetector7_12s::detect</a></div><div class="ttdeci">void detect(const float *im, std::vector&lt; pcl::PointUV, Eigen::aligned_allocator&lt; pcl::PointUV &gt; &gt; &amp;corners_all) const</div><div class="ttdoc">Detects points of interest (i.e., keypoints) in the given image</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s_html_a9f3a85c36450a53b88bd250d694e6b0b"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#a9f3a85c36450a53b88bd250d694e6b0b">pcl::keypoints::agast::AgastDetector7_12s::computeCornerScore</a></div><div class="ttdeci">int computeCornerScore(const float *im) const</div><div class="ttdoc">Computes corner score.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s_html_aff17278915c31c69d59cab89da167255"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_agast_detector7__12s.html#aff17278915c31c69d59cab89da167255">pcl::keypoints::agast::AgastDetector7_12s::~AgastDetector7_12s</a></div><div class="ttdeci">~AgastDetector7_12s()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:286</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_oast_detector9__16_html"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html">pcl::keypoints::agast::OastDetector9_16</a></div><div class="ttdoc">Detector class for AGAST corner point detector (OAST 9_16).</div><div class="ttdef"><b>Definition:</b> agast_2d.h:425</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_oast_detector9__16_html_a348bcf934a5361c83aba5fca57be6790"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a348bcf934a5361c83aba5fca57be6790">pcl::keypoints::agast::OastDetector9_16::computeCornerScore</a></div><div class="ttdeci">int computeCornerScore(const float *im) const</div><div class="ttdoc">Computes corner score.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_oast_detector9__16_html_a52fe6d9a5a6a66453b9645b3af620c66"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a52fe6d9a5a6a66453b9645b3af620c66">pcl::keypoints::agast::OastDetector9_16::computeCornerScore</a></div><div class="ttdeci">int computeCornerScore(const unsigned char *im) const</div><div class="ttdoc">Computes corner score.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_oast_detector9__16_html_a5c43ea75c633cd9dcfa244e36917dac9"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a5c43ea75c633cd9dcfa244e36917dac9">pcl::keypoints::agast::OastDetector9_16::initPattern</a></div><div class="ttdeci">void initPattern()</div><div class="ttdoc">Initializes the sample pattern.</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_oast_detector9__16_html_a82a7102497c0969ef372050e0767619d"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#a82a7102497c0969ef372050e0767619d">pcl::keypoints::agast::OastDetector9_16::~OastDetector9_16</a></div><div class="ttdeci">~OastDetector9_16()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:446</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_oast_detector9__16_html_adb6a18797226c726868a74c2c48a7cb7"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#adb6a18797226c726868a74c2c48a7cb7">pcl::keypoints::agast::OastDetector9_16::detect</a></div><div class="ttdeci">void detect(const unsigned char *im, std::vector&lt; pcl::PointUV, Eigen::aligned_allocator&lt; pcl::PointUV &gt; &gt; &amp;corners_all) const</div><div class="ttdoc">Detects points of interest (i.e., keypoints) in the given image</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_oast_detector9__16_html_af0e332439840973c2efcd85cc3e53dd1"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#af0e332439840973c2efcd85cc3e53dd1">pcl::keypoints::agast::OastDetector9_16::detect</a></div><div class="ttdeci">void detect(const float *im, std::vector&lt; pcl::PointUV, Eigen::aligned_allocator&lt; pcl::PointUV &gt; &gt; &amp;corners_all) const</div><div class="ttdoc">Detects points of interest (i.e., keypoints) in the given image</div></div>
<div class="ttc" id="aclasspcl_1_1keypoints_1_1agast_1_1_oast_detector9__16_html_aff695bdacdf4db62e667dc24dadfaa90"><div class="ttname"><a href="classpcl_1_1keypoints_1_1agast_1_1_oast_detector9__16.html#aff695bdacdf4db62e667dc24dadfaa90">pcl::keypoints::agast::OastDetector9_16::OastDetector9_16</a></div><div class="ttdeci">OastDetector9_16(const size_t width, const size_t height, const double threshold, const double bmax=255)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:436</div></div>
<div class="ttc" id="aclasspcl_1_1search_1_1_search_html"><div class="ttname"><a href="classpcl_1_1search_1_1_search.html">pcl::search::Search&lt; PointInT &gt;</a></div></div>
<div class="ttc" id="acommon_2include_2pcl_2point__types_8h_html"><div class="ttname"><a href="common_2include_2pcl_2point__types_8h.html">point_types.h</a></div></div>
<div class="ttc" id="astructpcl_1_1_point_u_v_html"><div class="ttname"><a href="structpcl_1_1_point_u_v.html">pcl::PointUV</a></div><div class="ttdoc">A 2D point structure representing pixel image coordinates.</div><div class="ttdef"><b>Definition:</b> point_types.hpp:733</div></div>
<div class="ttc" id="astructpcl_1_1_point_x_y_z_html"><div class="ttname"><a href="structpcl_1_1_point_x_y_z.html">pcl::PointXYZ</a></div><div class="ttdoc">A point structure representing Euclidean xyz coordinates. (SSE friendly)</div><div class="ttdef"><b>Definition:</b> point_types.hpp:282</div></div>
<div class="ttc" id="astructpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_1_1_compare_score_index_html"><div class="ttname"><a href="structpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_1_1_compare_score_index.html">pcl::keypoints::agast::AbstractAgastDetector::CompareScoreIndex</a></div><div class="ttdoc">Score index comparator.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:195</div></div>
<div class="ttc" id="astructpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_1_1_score_index_html"><div class="ttname"><a href="structpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector_1_1_score_index.html">pcl::keypoints::agast::AbstractAgastDetector::ScoreIndex</a></div><div class="ttdoc">Structure holding an index and the associated keypoint score.</div><div class="ttdef"><b>Definition:</b> agast_2d.h:188</div></div>
<div class="ttc" id="astructpcl_1_1keypoints_1_1internal_1_1_agast_apply_non_max_suppresion_html"><div class="ttname"><a href="structpcl_1_1keypoints_1_1internal_1_1_agast_apply_non_max_suppresion.html">pcl::keypoints::internal::AgastApplyNonMaxSuppresion</a></div><div class="ttdef"><b>Definition:</b> agast_2d.h:514</div></div>
<div class="ttc" id="astructpcl_1_1keypoints_1_1internal_1_1_agast_detector_html"><div class="ttname"><a href="structpcl_1_1keypoints_1_1internal_1_1_agast_detector.html">pcl::keypoints::internal::AgastDetector</a></div><div class="ttdef"><b>Definition:</b> agast_2d.h:543</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_1cf6ed481dc4f7cef9fd34ccffda079b.html">keypoints</a></li><li class="navelem"><a class="el" href="dir_d7c2f6375bd80f92082bb7166c4428cb.html">include</a></li><li class="navelem"><a class="el" href="dir_4a4d1c99ac52d5ca0a36cfe66db35c11.html">pcl</a></li><li class="navelem"><a class="el" href="dir_332474dc54987637ffa2f6efab54cb50.html">keypoints</a></li><li class="navelem"><b>agast_2d.h</b></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
